Ankündigung

Einklappen
Keine Ankündigung bisher.

Synology Diskstation Powernet eibd

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

    Synology Diskstation Powernet eibd

    Hallo alle zusammen,

    ich habe nach vielem lesen hier im Forum noch ein paar Fragen.


    Ich würde gerne meine KNX-Powernet Anlage visualisieren, am besten, so das man mit einem Smartphone oder Internetbrowser am PC/Laptop Informationen (z. B. Raumtemperaturen) abfragen/anzeigen kann bzw. auch ein eingreifen in die Anlage möglich ist (z. B. Licht EIN/AUS oder Betriebsartenumschaltung bei RTR).
    Ich habe eine Synology DS211(DSM 4) und als Schnittstelle zum KNX eine USB-Schnittstelle 6123 USB mit einem Netzankoppler 6920 U-102.
    Soweit ich ich mich belesen habe, muß ich auf der DS211 eibd und linknx zum laufen bringen. Und dann eine Visu aufsetzen (evtl. Cometvisu?).

    Nun zu meinen Fragen:

    Gibt es fertige Pakete für eibd und linknx evtl. auch für die Visu?
    Ist es egal welche Version von eibd und linknx installiert wird(wenn nicht, welche Version muss dann installiert werden)?
    Benötige ich für den eibd ein INIT-Script? Gibts da evtl. eine Vorlage?

    Vielen Dank Vorab für die Hilfe.

    MfG
    zippelzappel

    #2
    ja es gibt pakete für die Syno...
    Benutz die Forensuche - die Schwierigkeit ist ob es ein Paket für deine HW-Platform gibt...

    Für die 207+ gibt's jedenfalls eibd.

    linknx ist php, braucht also nur einen funktionierenden Webserver

    Auch dazu gibt es einige Threads und im Lexikon ist auch einiges zu finden
    EPIX
    ...und möge der Saft mit euch sein...
    Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

    Kommentar


      #3
      Zitat von EPIX Beitrag anzeigen
      Für die 207+ gibt's jedenfalls eibd.
      Passt das Paket von der 207+ auch bei der 211?

      MfG

      Kommentar


        #4
        Kucks du Google....
        Und vergleichst die HWPlattform.....
        Ist ja dein Problem - also mach' auch selbst etwas. :-)
        EPIX
        ...und möge der Saft mit euch sein...
        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

        Kommentar


          #5
          Zitat von EPIX Beitrag anzeigen
          Kucks du Google....
          Und vergleichst die HWPlattform.....
          Ist ja dein Problem - also mach' auch selbst etwas. :-)
          Danke für die nette Antwort...

          Kommentar


            #6
            Zitat von zippelzappel Beitrag anzeigen
            Passt das Paket von der 207+ auch bei der 211?
            Nach der kurzen Frage -ohne Danke für den Hinweis (oder dem selbständigen Bemühen der Suche) dachte ich du willst Buchstaben sparen......

            Meine Antwort hatte übrigens einen Zwinkersmilie - damit du siehst dass es nicht so ernst ist.....

            Woraus der Schluss zu ziehen wäre:
            Es sind die feinen Zwischentöne auf die man achten sollte
            EPIX
            ...und möge der Saft mit euch sein...
            Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

            Kommentar


              #7
              So nun habe ich Mr.Google befragt....

              die DS207+ hat einen Marvell Orion mv5281 ARM Processor
              und die DS211 hat einen Marvell Kirkwood mv6282 1.6Ghz ARM Processor (Marvell ARMADA 300).

              Aber kann man das Paket von der DS207+ nun verwenden?
              Kann man das probieren ohne schaden anzurichten?

              Hat der 6920 U-102 eine BCU1 (zwecks dem bcudriver)?

              Trotzdem vielen Dank für die Hilfe...

              MfG

              Kommentar


                #8
                Zitat von EPIX Beitrag anzeigen
                Für die 207+ gibt's jedenfalls eibd.

                linknx ist php, braucht also nur einen funktionierenden Webserver
                Stimmt so nicht ganz. linknx ist selbst ein Binary wofür es ein Paket braucht, wenn man es nicht selbst kompilieren will.

                linknx ist eine Logik Engine und kann mittels linknx.php als Schnittstelle zu einem Webserver dienen. linknx.php kommt mit knxweb oder knxweb2 mit. knxweb oder knxweb2 benötigen keine Pakete sondern sind eine Sammlung von Javascript-, PHP- und Image-Files.

                eibd+linknx+knxweb[2] sind eine Möglichkeit schnell zu einer Visu inkl. Logik Engine zu kommen. Die CometVisu kann aber direkt via eibd kommunizieren und ist damit unabhängig von linknx. Kann auch parallel genutzt werden, wenn man auf die Logik Engine nicht verzichten will.

                Gruss, Othmar
                EIB/KNX, VISU mit knxd + linknx + knxweb, Steuerbefehle via SMS und Email mit postfix + procmail

                Kommentar


                  #9
                  So nach ein bisschen(hat schon etwas gedauert...) probieren habe ich eibd installiert bekommen.
                  Nur habe ich scheinbar mit dem init-Script meine Probleme.

                  Das Init-Script habe ich von hier: Eibd - KNX/EIB - Lexikon - KNX-User-Forum=

                  Wenn ich eibd starte (/etc/init.d/eibd start) und danach versuche ein Gruppenadresse mit groupswrite ip:127.0.0.1 1/0/20 0 zu schreiben bekomme ich folgende Meldung:
                  Open failed: Connection refused.

                  Ich verwende einen 6920 U-102 Netzankoppler und eine 6123 USB-Schnittstelle von B-J.

                  Kann mir da jemand helfen?

                  Vielen Dank schon mal.

                  MfG

                  Kommentar


                    #10
                    Zitat von Tru Beitrag anzeigen
                    Die CometVisu kann aber direkt via eibd kommunizieren und ist damit unabhängig von linknx.
                    Richtig.
                    Für die CometVisu brauchst Du aber noch eibread-cgi und eibwrite-cgi für die Zielplattform kompiliert (+ laufendem eibd und einem Web-Server; wenn der Editor auch laufen soll, dann noch PHP).

                    Für OpenWRT gibt's eibread-cgi und eibwrite-cgi bereits kompiliert (hat, glaub ich, auch einen ARM) - aber ob und wie das auf einer Synology läuft, kann ich nicht sagen.
                    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

                    Kommentar


                      #11
                      Zitat von zippelzappel Beitrag anzeigen
                      Wenn ich eibd starte (/etc/init.d/eibd start) und danach versuche ein Gruppenadresse
                      mit groupswrite ip:127.0.0.1 1/0/20 0 zu schreiben bekomme ich folgende Meldung:
                      Open failed: Connection refused.
                      Da ich gerade selbst mit dem eibd auf einem TP-Link TL-MR3020
                      experimentiere kann ich sagen, in dem Fall hoert der eibd
                      nicht auf der IP-Adresse.
                      Moeglicherweise ist er nicht mit dem Parameter --listen-tcp
                      sondern mit --listen-local fuer eine Unix domain socket Verbindung
                      gestartet worden, oder der Default Port wurde im Script
                      veraendert?

                      Was sagt denn netstat -a und wie ist der genaue Aufruf des eibd?
                      Welche Parameter werden beim Start uebergeben, mal das Init Script
                      ansehen, es wird normalerweise eine Konfigurationsdatei ausgelesen.
                      Diese findet sich je nach verwendeten System an unterschiedlichen
                      Orten wie beispielsweise /etc/conf.d oder /etc/config

                      Zunaechst wuerde ich den eibd mal haendisch mit den benoetigten
                      Parametern (haegt von der Schnittstelle ab die verwendet werden soll)
                      starten um zu schauen ob er ueberhaupt auf dem System laeuft.
                      Da ich ein IP-Interface verwende schreibe ich jetzt keine Parameter
                      in den Thread, ich kann diese hier wegen der unterschiedlichen Schnittstelle,
                      ohnehin nicht selbst testen.

                      Wenn das funktioniert, die Konfigurationsdatei fuer das Script anpassen,
                      dazu mal im Startscript unter /etc/init.d nachsehen woher die Config
                      gezogen wird und wie der Dateiname lautet und dann nochmal probieren
                      das Teil per Script als Daemon zu starten.

                      Kommentar


                        #12
                        Wenn ich Versuche eibd zu starten, kommt folgende Meldung.


                        DiskStation> eibd -D -T -S -d -i USB:
                        W00000001: EIBD should not run as root
                        DiskStation> eibd -D -T -S -d -i
                        url expected
                        DiskStation> eibd -D -T -S -d -i bcu1:/dev/eib
                        W00000001: EIBD should not run as root
                        DiskStation>

                        Mit welchen Parametern kann ich eibd starten?

                        MfG
                        zippelzappel

                        Kommentar


                          #13
                          Nach vielen probieren und testen kann ich eibd starten.

                          Ich habe in /opt/etc/init.d eine Datei "eibd" angelegt hier das Script von der eibd-Anleitung hinein kopiert und die Schnittstelle angepasst(
                          eibd -d -D -i -S -T usb:1:3). Nun habe ich die Rechte mit "chmod a+x /opt/etc/init.d/eibd" vergeben.
                          Jetzt habe ich mich als Admin mit Putty agemeldet und das Script mit "/opt/etc/init.d/eibd start" ausgeführt. Das soweit auch mit Erfolg. Ein schreiben der Gruppenadressen hat funktioniert (Licht EIN/AUS).
                          Nun habe ich versucht das Script automatisch beim Start der DS mit starten zu lassen. Dazu habe ich die Datei eibd in S92eibd umbenannt und einen Restart der DS gemacht, nur leider ohne Erfolg. Weder war jetzt eibd gestartet noch lässt er sich manuel starten.
                          Was mache ich hier falsch?

                          MfG
                          zippelzappel

                          Kommentar


                            #14
                            poste doch einfach dein Startscript....

                            ALternativ: im Forum wurde erst letzte Woche ein Startscript gepostet, im Lexikon steht AFAIK auch eines
                            EPIX
                            ...und möge der Saft mit euch sein...
                            Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

                            Kommentar


                              #15
                              Hallo,

                              hier ist das Script das ich verwendet habe:
                              Code:
                              #! /bin/sh
                               PATH=/sbin:/usr/sbin:/bin:/usr/bin
                               DESC="Description of the service"
                               NAME=eibd
                               DAEMON=/usr/bin/$NAME
                               DAEMON_ARGS="-d -D -i -S -T  --pid-file=/var/run/eibd.pid usb:1:3"
                               PIDFILE=/var/run/$NAME.pid
                               SCRIPTNAME=/etc/init.d/$NAME
                                # Exit if the package is not installed
                                [ -x "$DAEMON" ] || exit 0
                                 # Read configuration variable file if it is present
                                 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
                                  # Load the VERBOSE setting and other rcS variables
                                  . /lib/init/vars.sh
                                   # Define LSB log_* functions.
                                   # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
                                   . /lib/lsb/init-functions
                                    #
                                    # Function that starts the daemon/service
                                    #
                                    do_start()
                                    {
                                    # Return
                                    # 0 if daemon has been started
                                    # 1 if daemon was already running
                                    # 2 if daemon could not be started
                                    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
                                    || return 1
                                    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
                                    $DAEMON_ARGS \
                                    || return 2
                                    # Add code here, if necessary, that waits for the process to be ready
                                    # to handle requests from services started subsequently which depend
                                    # on this one. As a last resort, sleep for some time.
                                    }
                                    #
                                    # Function that stops the daemon/service
                                    #
                                    do_stop()
                                    {
                                    # Return
                                    # 0 if daemon has been stopped
                                    # 1 if daemon was already stopped
                                    # 2 if daemon could not be stopped
                                    # other if a failure occurred
                                    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
                                    RETVAL="$?"
                                    [ "$RETVAL" = 2 ] && return 2
                                    # Wait for children to finish too if this is a daemon that forks
                                    # and if the daemon is only ever run from this initscript.
                                    # If the above conditions are not satisfied then add some other code
                                    # that waits for the process to drop all resources that could be
                                    # needed by services started subsequently. A last resort is to
                                    # sleep for some time.
                                    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
                                    [ "$?" = 2 ] && return 2
                                    # Many daemons don't delete their pidfiles when they exit.
                                    rm -f $PIDFILE
                                    return "$RETVAL"
                                    }
                                     #
                                     # Function that sends a SIGHUP to the daemon/service
                                     #
                                     do_reload() {
                                     #
                                     # If the daemon can reload its configuration without
                                     # restarting (for example, when it is sent a SIGHUP),
                                     # then implement that here.
                                     #
                                     start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
                                     return 0
                                     }
                                      case "$1" in
                                      start)
                                      [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
                                      do_start
                                      case "$?" in
                                      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                                      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
                                      esac
                                      ;;
                                      stop)
                                      [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
                                      do_stop
                                      case "$?" in
                                      0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                                      2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
                                      esac
                                      ;;
                                      #reload|force-reload)
                                      #
                                      # If do_reload() is not implemented then leave this commented out
                                      # and leave 'force-reload' as an alias for 'restart'.
                                      #
                                      #log_daemon_msg "Reloading $DESC" "$NAME"
                                      #do_reload
                                      #log_end_msg $?
                                      #;;
                                      restart|force-reload)
                                      #
                                      # If the "reload" option is implemented then remove the
                                      # 'force-reload' alias
                                      #
                                      log_daemon_msg "Restarting $DESC" "$NAME"
                                      do_stop
                                      case "$?" in
                                      0|1)
                                      do_start
                                      case "$?" in
                                      0) log_end_msg 0 ;;
                                      1) log_end_msg 1 ;; # Old process is still running
                                      *) log_end_msg 1 ;; # Failed to start
                                      esac
                                      ;;
                                      *)
                                       # Failed to stop
                                       log_end_msg 1
                                       ;;
                                       esac
                                       ;;
                                       *)
                                       #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
                                       echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
                                       exit 3
                                       ;;
                                       esacEDIT: (02.04.2011; dundee)
                              MfG
                              zippelzappel

                              Kommentar

                              Lädt...
                              X