Ankündigung

Einklappen
Keine Ankündigung bisher.

eibd/linknx/cometvisu auf raspberry pi

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

  • Merlin123
    antwortet
    Ok... In dem angesprochen Thread versteh ich nur Bruchteile....
    Kann man meine Frage mit Ja oder Nein beantworten?

    Gruß,
    Oliver

    Gesendet via Tapatalk

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Werd ich machen

    Gruß,
    Oliver

    Gesendet via Tapatalk

    Einen Kommentar schreiben:


  • henfri
    antwortet
    lies mal meinen Thread zum Thema "Modifikationen in rrdtool und eibd upstream?"

    Einen Kommentar schreiben:


  • Merlin123
    antwortet
    Hab mir den Thread mal durchgelesen, da ich überlege mir einen Pi zuzulegen und dann die CV drauf laufen zu lassen. Mein Bus hängt via Weinzierl 730 am Netzwerk.
    Frage : ich brauche außer dem Pi und diverser Software (die man problemlos bekommt) nichts um die Visualisierung zu realisieren, richtig?

    Gruß,
    Oliver

    Gesendet via Tapatalk

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hallo,

    Zitat von Michixx Beitrag anzeigen
    Und warum das Script beim booten nicht ausgeführt wird, habe ich auch gefunden. Da fehlt in /etc/rcS.d der Link zum Script
    das ist Quatsch was ich da geschrieben habe, in /etc/rcS.d muß kein Link zum Script stehen.

    Zitat von dundee Beitrag anzeigen
    Hallo Michi,
    Unter /etc gibts noch Verzeichisse "rc[0-6].d". Die Zahl gibt den Runlevel an. In den Verzeichnissen stehen Links auf die Startscripte, die in diesem Runlevel gestartet werden sollen.
    Ich nehme an, dass bei dir nirgends ein Link auf das eibd-Initscript steht.
    Die Links haben eine Zahl (bis 99) im Namen. Die legt innerhalb eines Runlevels die Startreihenfolge fest.
    S heißt Start, K heißt Kill (also beenden).

    Bei mir siehts so aus:
    ./rc2.d/S19eibd
    ./rc3.d/S19eibd
    ./rc6.d/K01eibd
    ./rc0.d/K01eibd
    ./rc1.d/K01eibd
    ./rc4.d/S19eibd
    ./rc5.d/S19eibd
    Die Links waren bei mir alle in ./rc0.d bis ./rc6 angelegt.
    Allerdings ist der Runlevel bei mir vom Eibd mit 01 eingetragen, das ist wahrscheinlich etwas früh, oder er benötigt eine kurze Pause.
    Ich stelle hier mal das von Bodo bereitgestellte und von mir etwas modifizierte Script ein.
    So funkioniert es bei mir nun mit einer IP-Schnittstelle im Tunnel-Modus , und es wird nun auch beim booten aus geführt.
    Code:
    #!/bin/sh
    ### BEGIN INIT INFO 
    # Provides: eibd
    # Required-Start: $local_fs $remote_fs $network
    # Required-Stop: $local_fs $remote_fs
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Short-Description: eibd initscript
    # Description: based on init-script from knx-user-forum.de
    # Pending: check KNXnet/IP-Response
    ### END INIT INFO
    PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
    DESC="EIB/KNX daemon"
    NAME=eibd
    DAEMON=/usr/local/bin/$NAME
    DAEMON_ARGS="-D -T -S -d -i --pid-file=/var/run/eibd.pid ipt:192.168.0.201"
    file=/var/run/$NAME.pid"
    PIDFILE=/var/run/$NAME.pid
    SCRIPTNAME=/etc/init.d/$NAME
    [COLOR=black]sleep 5[/COLOR]
     
    # 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
    ;;
    esac
    Danke Euch beiden.
    Aber meine nächste Frage kommt auch noch zu dem Php und cgi.

    Gruß
    Michi

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hallo Bodo,

    Zitat von Michixx Beitrag anzeigen
    Hallo Bodo,
    dein Script funkioniert leider nicht, da tut sich gar nichts.
    Ausführbar habe ich es natürlich gemacht. Hast Du bitte noch eine Idee?
    Das Script funkioniert nun, habe es doch tatsächlich selber geschafft, es noch ein wenig anzupassen.

    Ich danke Dir

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hallo Bodo,

    dein Script funkioniert leider nicht, da tut sich gar nichts.
    Ausführbar habe ich es natürlich gemacht. Hast Du bitte noch eine Idee?

    Und warum das Script beim booten nicht ausgeführt wird, habe ich auch gefunden. Da fehlt in /etc/rcS.d der Link zum Script

    Danke an Olaf.

    Gruß
    Michi

    Einen Kommentar schreiben:


  • dundee
    antwortet
    Hallo Michi,

    Zitat von Michixx Beitrag anzeigen
    Ich weiß aber immer noch nicht, warum der Eibd mit dem Init Script nicht automatisch beim booten startet.
    Unter /etc gibts noch Verzeichisse "rc[0-6].d". Die Zahl gibt den Runlevel an. In den Verzeichnissen stehen Links auf die Startscripte, die in diesem Runlevel gestartet werden sollen.
    Ich nehme an, dass bei dir nirgends ein Link auf das eibd-Initscript steht.
    Die Links haben eine Zahl (bis 99) im Namen. Die legt innerhalb eines Runlevels die Startreihenfolge fest.
    S heißt Start, K heißt Kill (also beenden).

    Bei mir siehts so aus:
    ./rc2.d/S19eibd
    ./rc3.d/S19eibd
    ./rc6.d/K01eibd
    ./rc0.d/K01eibd
    ./rc1.d/K01eibd
    ./rc4.d/S19eibd
    ./rc5.d/S19eibd

    Exemplarisch ein solcher Link:

    lrwxrwxrwx 1 root root 14 17. Apr 2012 S19eibd -> ../init.d/eibd

    Es gibt ein Tool, welches dir das alles erstellt:
    rcconf


    HTH

    Einen Kommentar schreiben:


  • Bodo
    antwortet
    Hoi Michi

    Kannst Dir ja mal das alte initscript anschauen, ob es damit klappt. Die Endungen löschen.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hi Bodo,

    das wäre echt super nett von Dir wenn Du mir da was zusammen schreibst.
    Danke schon mal.

    Gruß
    Michi

    Einen Kommentar schreiben:


  • Bodo
    antwortet
    Hoi

    Das Startscript vom Wiregate ist halt für die automatische Erkennung der verschiedenen Schnittstellen gemacht. Das geht auch kleiner.
    Ich muss nur den Ordner raussuchen. Alles schriftlich.

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hallo Bodo,

    da ist Debian Wheezy drauf.


    Na ja, dann werde ich mal versuchen mein eigenes Init Script zu erstellen.
    Ich benötige eigentlich auch nur ein Script für mein IP-Interface.
    Trotzdem vielen Dank.

    PS;
    Zitat von Bodo Beitrag anzeigen
    Hoi

    Kommt auch auf die Schnittstelle an. Welche hängt da bei Dir am KNX?
    Bei Mir ist eine Siemens IP Schnittstelle N 148/22

    Gruß
    Michi

    Einen Kommentar schreiben:


  • Bodo
    antwortet
    Hoi

    Ja der eibd sollte automatisch starten. Warum und wie das beim Raspi geht weiss ich allerdings nicht so genau. Bin da nicht mehr drin sozusagen...
    Ist wohl auch ein Debian drauf?!
    Kommt auch auf die Schnittstelle an. Welche hängt da bei Dir am KNX?
    Also mit
    eibd -d -i ipt:192.168.0.201
    geht's bei Dir.
    Hast Du das:
    Diese können wir dann mit
    Code:
    update-rc.d eibd defaults
    update-rc.d linknx defaults
    automatisch starten lassen.
    gemacht?

    Einen Kommentar schreiben:


  • Michixx
    antwortet
    Hi Bodo,

    du hattest in deinen Anfängen ja auch etwas Probleme mit dem Eibd, aber jetzt ja nicht mehr.

    Wofür benötige ich die Geräteadresse, die dem KNX zeigt, wer da sendet?
    Die Adresse 1.1.100. wir dem Eibd ja im Init Script zugewiesen, die brauche ich doch eigentlich gar nicht, oder?
    Wenn ich nämlich den Eibd so starte, kann ich die Lichter auch schalten.
    Code:
    /$ [URL="http://redaktion.knx-user-forum.de/lexikon/eibd/"][COLOR=#0066cc]eibd[/COLOR][/URL] -d -i ipt:192.168.0.201
    Kannst Du dir bitte mal das Init Script vom Eibd auf der ersten Seite anschauen?

    Gruß
    Michi

    Einen Kommentar schreiben:


  • Bodo
    antwortet
    Zitat von Michixx Beitrag anzeigen
    Und wenn ich den Eibd manuell starte, wofür steht dann das --eibaddr=1.1.100, was ist das für eine Adresse, wofür benötigt der Eibd die?
    Hoi Michi

    Das ist die Geräteadresse, die im KNX zeigt, wer da sendet.

    Einen Kommentar schreiben:

Lädt...
X